/*
// Sshwifty - A Web SSH client
//
// Copyright (C) 2019-2020 Rui NI <nirui@gmx.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/

@charset "utf-8";

@import "~roboto-fontface/css/roboto/roboto-fontface.css";

@keyframes home-window-display-flash {
  0% {
    top: -2px;
    opacity: 0;
    box-shadow: 0 0 0 transparent;
  }

  20% {
    height: 20px;
    box-shadow: 0 0 50px #fff;
  }

  50% {
    opacity: 0.5;
    box-shadow: 0 0 10px #fff;
  }

  100% {
    top: 100%;
    height: 0;
    opacity: 0;
    box-shadow: 0 0 0 transparent;
  }
}

.home-window-display {
}

.home-window-display::after {
  opacity: 0;
  z-index: 2;
  content: " ";
  display: block;
  position: absolute;
  width: 100%;
  height: 0;
  top: -2px;
  left: 0;
  right: 0;
  background: #fff;
  animation-name: home-window-display-flash;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  box-shadow: 0 0 10px #fff;
}

#home {
  height: 100%;
  display: flex;
  flex-direction: column;
  font: 1em "Roboto", sans-serif;
}

#home-header {
  flex: 0 0 40px;
  font-size: 0.9em;
  color: #fff;
  width: 100%;
  overflow: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

#home-hd-title {
  font-size: 1.1em;
  padding: 0 0 0 20px;
  font-weight: bold;
  flex: 0 0 65px;
  text-align: center;
  overflow: hidden;
}

#home-hd-delay {
  font-size: 0.95em;
  display: flex;
  flex: 0 0 70px;
  flex-direction: row;
  overflow: hidden;
  margin: 0 10px;
  color: #aaa;
  text-decoration: none;
  justify-items: center;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  #home-hd-title {
    padding: 0 0 0 10px;
  }

  #home-hd-delay {
    flex: 0 0 60px;
  }
}

#home-hd-delay-icon {
  color: #bbb;
  text-shadow: 0 0 3px #999;
  transition: linear 0.2s color, text-shadow;
  margin: 5px;
  font-size: 0.54em;
}

#home-hd-delay-value {
  display: inline-block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: none;
}

@keyframes home-hd-delay-icon-flash {
  0% {
    opacity: 1;
  }

  10% {
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  30% {
    opacity: 0;
  }

  90% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes home-hd-delay-icon-working {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#home-hd-delay-icon.green {
  color: #1e8;
  text-shadow: 0 0 3px #1e8;
}

#home-hd-delay-icon.yellow {
  color: #ff4;
  text-shadow: 0 0 3px #ff4;
}

#home-hd-delay-icon.orange {
  color: #f80;
  text-shadow: 0 0 3px #f80;
}

#home-hd-delay-icon.red {
  color: #e11;
  text-shadow: 0 0 3px #e11;
}

#home-hd-delay-icon.flash {
  animation-name: home-hd-delay-icon-flash;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

#home-hd-delay-icon.working {
  animation-name: home-hd-delay-icon-working;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
}

#home-hd-plus {
  flex: 0 0;
  padding: 0 13px;
  text-decoration: none;
  font-size: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

@keyframes home-hd-plus-icon-flash {
  0% {
    background: #a56;
  }

  20% {
    background: #5a7;
  }

  40% {
    background: #96a;
  }

  60% {
    background: #379;
  }

  80% {
    background: #da0;
  }

  100% {
    background: #a56;
  }
}

#home-hd-plus.working {
  color: #fff;
  background: #a56;
  animation-name: home-hd-plus-icon-flash;
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  transition: linear 2s background;
}

#home-hd-plus.working.intensify {
  animation-duration: 3s;
}

#home-hd-tabs {
  background: #333;
  flex: auto;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: left;
  align-items: center;
}

#home-hd-tabs-tabs {
  flex: auto;
  overflow: hidden;
}

#home-hd-tabs-tabs > li {
  flex: 0 0 180px;
  display: flex;
  position: relative;
  padding: 0 15px;
  opacity: 0.5;
  color: #999;
}

#home-hd-tabs-tabs > li::after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 0;
  right: 10px;
  left: 10px;
  height: 0;
  transition: all 0.1s linear;
  transition-property: height, right, left;
}

#home-hd-tabs-tabs > li.active::after {
  right: 0;
  left: 0;
}

#home-hd-tabs-tabs > li.updated::after {
  background: #fff3;
  height: 2px;
}

#home-hd-tabs-tabs > li.error::after {
  background: #d55;
  height: 2px;
}

#home-hd-tabs-tabs > li > span.title {
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
}

#home-hd-tabs-tabs > li > span.title > span.type {
  display: inline-block;
  font-size: 0.85em;
  font-weight: bold;
  margin-right: 3px;
  text-transform: uppercase;
  color: #fff;
  background: #222;
  padding: 1px 4px;
  border-radius: 2px;
}

#home-hd-tabs-tabs > li > .icon-close {
  display: none;
}

#home-hd-tabs-tabs > li.active {
  color: #fff;
  opacity: 1;
}

#home-hd-tabs-tabs > li.active > span.title {
  padding-right: 15px;
}

#home-hd-tabs-tabs > li.active > .icon-close {
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -5px;
  color: #fff6;
}

#home-hd-tabs-list {
  display: flex;
  font-size: 22px;
  flex: 0 0;
  padding: 0 13px;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  box-shadow: 0 0 3px #333;
}

#home-content {
  flex: auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  font-size: 1.2em;
}

@media (max-width: 768px) {
  #home-content {
    font-size: 1em;
  }
}

#home-content-wrap {
  max-width: 520px;
  margin: 50px auto;
  padding: 0 30px;
  text-align: center;
}

#home-content h1 {
  margin: 20px 0;
}

#home-content p {
  margin: 10px 0;
  font-size: 0.9em;
  color: #eee;
  line-height: 1.6;
}

#home-content p.secondary {
  margin: 5px 0;
  line-height: 1.5;
  font-size: 0.7em;
  color: #aaa;
}

#home-content p a {
  color: #e9a;
}

#home-content hr {
  height: 2px;
  background: #3c3c3c;
  border: none;
  margin: 30px 0;
}

#home-content-connect {
  padding: 5px;
  display: inline-block;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
